Automatic color adjustment of a template design

ABSTRACT

The present invention generates a color template design. According to one aspect, a source image is selected. Colors of a selected template design are adjusted automatically using color data collected from the selected source image. A histogram may be generated for the selected source image. The histogram may be analyzed to automatically adjust the colors of the selected template design.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 60/181,810, filed Feb. 11, 2000 and U.S. application Ser. No. 09/735,572 filed Dec. 12, 2000, now U.S. Pat. No. 7,262,778 issued on Aug. 28, 2007.

FIELD OF THE INVENTION

The present invention relates to color template generation techniques. More particularly, the present invention relates to automatic color adjustment of a template design.

COPYRIGHT NOTICE/PERMISSION

A portion of the disclosure of this patent document may contain material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright ©1999, Sony Electronics, Inc., All Rights Reserved.

BACKGROUND OF THE INVENTION

Growth in technology and business transactions has given rise to a need for making presentations in all occupational fields. Presentations are regularly conducted in sales, advertising, negotiations, speeches, seminars, educational courses, and several other areas. Due to the extensive amount of presentations made today, it has become important to format the presentation is an attractive template to bring forth the information being presented.

Currently several template options are available to a consumer for making a presentation. The options available are for a user to select a type of pre-designed template for their information or image being presented. Pre-designed templates are of a pre-determined format and pre-determined color. A consumer has the options of selecting one of the pre-determined templates and using it as the template for the presentation.

A drawback of choosing a predetermined template with pre-determined format and pre-determined color is that the consumer is not able to match the template's appearance to the appearance of the information or the image being presented. Since appearance is the main reason for using a template, a pre-determined template creates a mismatch and does not bring forth the information being presented in its best format. The mismatch in some cases creates a distraction for the viewers instead of enhancing the information.

Another drawback for selecting a pre-determined template with pre-determined format and colors is that the consumer is not able to modify or change the parameters of the pre-determined template to suit the presentation. Thus the consumer has to spend a large amount of time trying to find a pre-determined template that is close to the desired format and color and thus creates a non-user friendly template which lacks in providing ease of use to the consumer.

SUMMARY OF THE INVENTION

The present invention generates a color template design. According to one aspect, a source image is selected. Colors of a selected template design are adjusted automatically using color data collected from the selected source image. A histogram may be generated for the selected source image. The histogram may be analyzed to automatically adjust the colors of the selected template design.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of one embodiment illustrating an overview of the operation;

FIGS. 1B and 1C are block diagrams of an exemplary digital computer processing environment suitable for practicing the invention according to one embodiment;

FIG. 2 is a flow diagram of one embodiment to generate a color template design;

FIG. 3 is a flow diagram of one embodiment to generate a color template design;

FIG. 4 illustrates one exemplary type of source image according to one embodiment;

FIG. 5 illustrates one exemplary type of histogram generated based on selection of an source image according to one embodiment;

FIG. 6 illustrates one exemplary type of template design according to one embodiment; and

FIG. 7 illustrates one exemplary type of color selection choice menu according to one embodiment.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.

Beginning with an overview of the operation of the invention, FIG. 1A illustrates one embodiment of a color template design system. The color template design system may have one or more clients 101 interacting with one or more servers 103 to generate a color template design. The server 103 and the client 101 communicate directly with each other. In one embodiment, server 103 and client 101 communicate through an intermediary such as a caching proxy server. In another embodiment, the server 103 and the client 101 are on separate local area networks (LAN). In another embodiment the server 103 and the client 101 are connected through a wide area network. The server 103 and client 101 interact with each other for sending various types of data, such as different types of streaming media data in various formats. In one embodiment, the streaming media data is sent in a downstream direction from server 103 to client 101. In another embodiment the client 101 sends a request and other streaming media data information to server 103.

A client 101 sends source image and template design selection information through input 105 to the server 103. The input may be through the various types of electronic devices and methods commonly known, for example, a stand-alone computer, a network computer, broadcast system, and an online World Wide Web submission. The server 103 receives the input information from the client 101 and posts the information in receiving area 107.

The server 103 sends the input information from its receiving area 107 to its processing area 109 for processing the input information. Processing performed at processing area 109 consists of processing functions such as evaluating user selection, generating histograms, selecting colors based on histograms, and providing color selection information.

The server 103 sends the processed information from its processing area 109 to the client's 101 displaying area 111. The display may be a PLAY function on a video, television screen, computer screen, or may be a video clip or PLAY function on an online system. The client 101 views the display in its display area 111 and sends the display information to its selection area 113. At selection area 113, the client 101 makes a color selection for the template design and sends the selected information back to server 103.

The server 103 receives the selection information from the client 101 and posts the selection information in its receiving area 115.

The server 103 sends the selection information in receiving area 115 to its processing area 117 for processing the selection information. Processing at processing area 117 consists of approving the selection, applying selection information to the template design and sending the template design with applied color selection for display to the client 101. The server 103 sends the processed information from its processing area 117 to the client 101 for displaying the processed information.

The client 101 receives the processed information, the adjusted color template design, and displays the color template design in displaying area 119. The client 101 can accept the displayed color template design and display the color template design in displaying area 119 as the template for the color template design system.

Alternatively, client 101 may choose to adjust the color template design selection. In this case, the client 101 sends the displayed color template design information from its display area 199 to make adjustments area 121. The client 101 makes the desired adjustments and sends the adjustment information to the server 103 for adjustments. The server 103 receives the adjustment information in its processing area 117 and processes the adjustment information to make the adjustments requested by the client 101. The server 103 sends the adjusted information to client 101 for displaying the adjusted information. The client 101 receives the adjusted information, the color template design, and displays the color template design as the template for the color template design system.

The processing stages and areas described, are examples of methods that can be utilized for separating one processing stage from another and one area from another. One skilled in the art will appreciate that the processing stages and areas may be designed in various combinations to derive the same result and are not to be construed as a limiting feature of this invention. For example, processing stages can be combined into one processing mode and interact with the client 101 through a single processing mode.

In one embodiment, as shown in FIG. 1B, the color template design server computer 103 hosts a color template design web site and is part of, or coupled to, an ISP (Internet Service Provider) 135 to provide a color template design. Client computer 101 that includes input 105, display 111, selection 113, display 119, and make adjustment area 121, executes a conventional Internet browsing application to exchange data with the server 103. Execution of the Internet browsing application causes a web page to be displayed. The displayed web page contains a variety of selection features, color template design options, various templates and colors, and advertisements and banners for various products and services.

In another embodiment, an online service provider, company or person offers an online service for providing a color template design with various colors and receives compensation for their services. The compensation can be in the form of a fee. For example a fee is submitted to the online service provider through use of a credit card. Alternatively, the service provider charges a fee for submission and provides the individual with a template design with a variety of colors for downloading or allows the user to view the online.

It is readily apparent that the present invention is not limited to Internet access and Internet web-based sites; directly coupled and private networks are also contemplated.

FIG. 1C. is a block diagram of an exemplary digital computer processing system 140, for use as a color template design server 103 according to one embodiment. The computer system 140 includes a processor 150, memory 155 and input/output capability 160 coupled to a system bus 165. The memory 155 is configured to store instructions which, when executed by the processor 150, perform the methods described herein. The memory 155 may also store data and content related to color template designs and colors. Input/output 160 provides for the delivery and display of template designs with various colors or portions or representations thereof. Input/output 160 also encompasses various types of computer-readable media, including any type of storage device that is accessible by the processor 150. It will also be appreciated that the server 103 is controlled by operating system software executing in memory 155. Input/output and related media 160 store the computer-executable instructions for the operating system and methods of the present invention as well as the data and content related to the stories.

The description of FIGS. 1B-C is intended to provide an overview of computer hardware and other operating components suitable for implementing the invention, but is not intended to limit the applicable environments. It will be appreciated that the computer system 140 is one example of many possible computer systems which have different architectures. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor. One of skill in the art will immediately appreciate that the invention can be practiced with other computer system configurations, including multiprocessor systems, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.

While the invention is not limited to any particular system configuration, for sake of clarity a simplified server having a receiving area and separate processing stages has been described.

FIGS. 2, and 3 describe methods by reference to flow diagrams that enables one skilled in the art to develop such programs including such instructions to carry out the methods on suitably configured computers (the processor of the computer executing the instructions from computer-readable media). If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems.

In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, logic . . . ), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor of the computer to perform an action or produce a result.

FIG. 2 is a flow diagram of one embodiment of a method 200 to generate a color template design. Method 200 can be implemented by digital processing system 140. Referring to FIG. 2, at operation block 201, a source image and template design is provided for selection. The source image and the template design are provided simultaneously for a user to select the source image and the template design. Alternatively, source image and template design are provided for selection one after another.

At operation block 203, a selection is made. A user of the color template design system selects the source image and the template design either simultaneously or one after another depending on the configuration of the color template design system. The user selects the template design and source image from the various template designs and source images provided. The source image is further described in FIG. 4. The template design is further described in FIG. 6.

At operation block 205, a histogram is generated based on the selection of the source image. Data is collected from the color of the selected source image and used to generate the histogram. The histogram analyzes the collected source image color data. A histogram is further described in FIG. 5.

At operation block 207, colors for the template design are suggested automatically based on the histogram analysis. The histogram analysis produces a choice of colors that match the color of the source image. All color choices are suggested one at a time for user selection. Alternatively, the color choices are suggested simultaneously or as a set number of color choices at a time that is predetermined by the user or the color template design system. One type of color selection is further described in FIG. 7.

At operation block 209, a color selection is made. The user of the color template design system selects one of the colors choices suggested. The color template design system offers a variety of template designs to the user. If the user chooses to change his mind and change the template design from earlier selected template design, the user can select from a variety of template designs to suit the selected color. The user also has a choice to apply the selected color to the background, foreground, mat or framing portion of the template design. Alternatively, the user can choose to apply the selected color to any one or any combination of the background, foreground, mat or framing portion of the template design.

At operation block 211, the selected color is applied to the template design at the selected portions. The template design with the applied color is displayed to the user. The user saves the displayed template design as the standard template design for the color template design system. As described earlier the display can be a computer, TV, online service, or similar electronic instruments.

Alternatively, the user can save several template designs and have the option of switching back and forth between the saved template designs for retrieving and displaying any of the saved template designs.

Alternatively, a color template design system is configured to allow a user to display and use the selected color template design after the user has paid a service fee to the provider of the color template design system.

FIG. 3 is a flow diagram of one embodiment of an operation 300 to generate a color template design. Operation 300 can be implemented by digital processing system 140. Operation 300 also allows an algorithm to provide and select source images, template designs, and colors for the template designs based on data source image gathered.

Referring to FIG. 3, at operation block 301, a source image and template design is provided for selection. As discussed previously, variety of different template design and source image choices are provided by the color template design system either simultaneously or one after another. A source image and template design is selected by the user from the choices provided.

At operation block 303, a cursor is placed on the source image. Placing a cursor on any one of the provided source images indicates a selection made by the user. A cursor can be placed by either using a computer mouse, a keyboard, a remote control device, a pointer, touching the source on the screen or similar function indicating acceptance of the source image.

At operation block 305, source image data is collected from the selected source image. The data represents the color of the source image. The data is stored or placed in non-volatile storage media, such as flash memory or other types of storage devices for use in applying to the template design. The data collection process is initiated instantly as the user of the color template design system places a cursor on the source image.

At operation block 307, the collected color data is used to adjust the color of the selected template design. The color template design system automatically adjusts the color of the earlier selected template design based on the color data collected from the earlier selected source image. In one embodiment, the automatic adjustment of color on the template design is performed instantaneously, or within a very short time period, as the user places the cursor on the source image. The adjusted color on the template design matches the color of the source image. Alternatively, a color template design system is configured to adjust the color to a contrast or any predetermined variation of the color of the source image.

Alternatively, a system prompt is displayed to the user asking the user to accept the color adjustment. The user accepts the system prompt, and the color template design system adjusts the color on the template design based on source image data collected earlier. Alternatively, the user rejects the system prompt and no color adjustments are performed to the template design.

At operation block 309, a template design with a matched source image color is displayed. The user may choose to save this color template design as a standard color template design for the color template design system.

FIG. 4 illustrates one exemplary type of source image 400 according to one embodiment. An source image is an image displayed on a display. For example, the image can be a photograph, text, computer icons, or any type of art. Several types of source images are offered by the color template design system for selection by a user. A source image can also be of a variety of different images with various colors and be either part of the color template design system or available as software packages available in the market including images downloaded from the Internet.

FIG. 5 illustrates one exemplary type of histogram 500 generated based on the selection of an source image according to one embodiment. A histogram is a bar graph of a frequency distribution in which the widths of the bars are proportional to the classes into which the variable has been divided and the heights of the bars are proportional to the class frequencies. The variable represents color of the observed frequencies.

FIG. 6 illustrates one exemplary type of template design 600 according to one embodiment. The template design has a background, foreground, mat and a framing portion. Area 601 represents a foreground or background portion. A template design has a cut-out where an source image is placed. The cut-out can vary in shapes and sizes to fit the source image. A user selects from the various template designs with a variety of cut-out portions. Alternatively, the user selects and modifies the template cut-out or any portion of the template design by manually changing the portions to desired levels.

The color template design system offers a variety of template design choices to users for selecting a template design. Alternatively, a variety of template design choices, such as, template software packages available on the market including template designs accessible over the Internet are used by the color template design system.

FIG. 7 illustrates one exemplary type of color selection choice menu 700 according to one embodiment. Operation blocks 701, 702 and 703 are color selections that are different from each other. A user selects any one of the offered selections to adjust the color in any portion of the template design. For example, a user selects a color selection 702 and the color template design system changes the color in area 704 of the template design to color selected at operation block 702.

As discussed previously, any predetermined number of color selections are offered by the color template design system. The color selections are either offered one after another or simultaneously.

An online color template design system has been described that allows a user of the color template design system to select a color template design. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention.

Also, although separate processing stages have been used to describe the server processing stages, it will be appreciated by those of ordinary skill in the art that any arrangement of processing stages to achieve the same purpose may be substituted for the specific embodiments shown.

The terminology used in this application with respect to networks is meant to include all of environments in which a server computer communicates with client computers to send and receive data. Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof. 

1. A computerized method for generating a color template design comprising: automatically adjusting colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design by a template design module executable by a processor, wherein adjusting comprises: collecting color data from the source image on which the cursor is placed; and using the collected color data to adjust color of the selected template design.
 2. A computerized method for generating a color template design comprising: automatically adjusting colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design by a template design module executable by a processor, wherein colors of the selected template design are adjusted to match colors of the source image on which the cursor is placed.
 3. A computerized method for generating a color template design comprising: automatically adjusting colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein adjusting comprises: generating a histogram for the source image on which the cursor is placed; analyzing the histogram; and automatically adjusting the colors of the selected template design based on the analysis of the histogram.
 4. A computerized method for generating a color template design comprising: automatically adjusting colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design by a template design module executable by a processor, wherein the selected template design includes a foreground portion and a background portion that are adjusted to match colors of the source image on which the cursor is placed.
 5. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein the color template design module causes the processor to place a cursor on a source image, collect color data from the source image on which the cursor is placed, and use the collected color data to adjust color of the selected template design.
 6. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein colors of the selected template design are adjusted to match colors of the source image on which the cursor is placed.
 7. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein the color template design is further to cause the processor to automatically adjust colors module by: generating a histogram for the source image on which the cursor is placed; analyzing the histogram; and automatically adjusting the colors of the selected template design based on the analysis of the histogram.
 8. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein the selected template design includes a foreground portion and a background portion that are adjusted to match colors of the source image on which the cursor is placed.
 9. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein automatically adjusting comprises: placing a cursor on a source image; collecting color data from the source image on which the cursor is placed; and using the collected color data to adjust color of the selected template design.
 10. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein colors of the selected template design are adjusted to match colors of the source image on which the cursor is placed.
 11. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein automatically adjusting comprises: generating a histogram for the source image on which the cursor is placed; analyzing the histogram; and automatically adjusting the colors of the selected template design based on the analysis of the histogram.
 12. A computerized system comprising: a processor; a memory coupled to the processor through a system bus; a computer-readable medium coupled to the processor through the system bus; and a color template design module executed from the computer-readable medium by the processor to cause the processor to automatically adjust colors of at least one selected template design based on placement of a cursor on a source image that is separate from the template design, wherein the selected template design includes a foreground portion and a background portion that arc adjusted to match colon of the source image on which the cursor is placed. 